package com.ds.persist;

import java.math.BigDecimal;
import java.util.List;

/**
 * 订单申报
 * @author zhangyou
 * @date 2018/12/2
 */
public class OrderDeclara {

    /**
     *  商户订单号 每商家提交的订单号，必须在自身账户交易中唯一
     */
   private String  merchantOrderId;

    /**
     *  物流分运单号
     */
   private String assBillNo;

    /**
     *  订单提交时间
     */
   private Long orderCommitTime;

    /**
     *  发件人姓名
     */
   private String senderName;

    /**
     *  发件人电话
     */
   private String senderTel;

    /**
     * 发件方公司名称
     */
   private String senderCompanyName;

    /**
     *  发件人地址
     */
   private String senderAddr;


    /**
     *  发件地邮编
     */
   private String senderZip;


    /**
     *  发件地城市
     */
   private String senderCity;

    /**
     *  发件地省/州名
     */
   private String senderProvince;

    /**
     *  发件地国家
     */
   private String senderCountry;



    /**
     *  订单商品信息简述
     */
   private String cargoDescript;

    /**
     *  商品价格 保留5位小数
     */
   private BigDecimal allCargoTotalPrice;


    /**
     *  代扣税款,默认0
     */
   private BigDecimal allCargoTotalTax;

    /**
     *  运杂费,默认0
     */
   private BigDecimal expressPrice;


    /**
     *  非现金抵扣金额,默认0
     */
   private BigDecimal otherPrice;


    /**
     * 收货人姓名
     */
   private String recPerson;

    /**
     * 收货人电话
     */
   private String recPhone;

    /**
     * 收货地国家
     */
   private String recCountry;

    /**
     * 收货地省/州
     */
   private String recProvince;

    /**
     *  收货地城市
     */
   private String recCity;

    /**
     *  收货地地址
     */
   private String recAddress;

    /**
     *  收货地邮编
     */
   private String recZip;

    /**
     *  业务类型
     *  字符串，固定长度 S01:一般进口 S02:保税区进口
     */
   private String serverType;

    /**
     *  海关关区代码
     */
   private String custCode;

    /**
     *  说明:企业报送类型。1-新增 2-变更 3-删除。默认为 1
     */
   private String appType;

    /**
     *  物流进境申报企业
     */
   private String customDeclCo;

    /**
     *  扩展字段
     */
   private String spt;

    /**
     *  平台编号 填写 declaraNo(CBT 平台唯一申报备案号)appType 为 2-变更 或 3-删 除时，必填
     */
   private String crossOrderId;

    /**
     *  商城平台编号  商户在跨境服务平台申请备案 后的7 位节点代码
     */
   private String merchantCode;

    /**
     * 电商平台代码
     * 电商平台的海关注册登记编号;电商平台未在海关注册登记，
     * 由电商企业发送订单的，以中国电子口岸发布的电商平台标识编号为准。
     */
   private String ebpCode;

    /**
     *  ebpName
     *  电商企业的海关注册登记编号。电商平台的海关注册登记名称;电商平台未在海关注册登记，
     *  由电商企业发送订单的，以中国电子口岸发布的电商平台名称为准
     */
   private String ebpName;

    /**
     * 电商企业代码
     * 电商企业的海关注册登记编号。
     */
   private String ebcCode;

    /**
     * 电商企业名称
     */
   private String ebcName;

    /**
     * 订购人注册号
     */
   private String buyerRegNo;

    /**
     * 商品批次号
     */
   private String batchNumbers;

    /**
     *  备注
     */
   private String note;

    /**
     * 扩展字段 订购人姓名 订购人信息和支付人信息不一致时，必填
     */
    private String spt01;

    /**
     *  订购人身份证
     */
    private String spt02;

    /**
     *  是否通过身份认证 Y-是，N-否，U-未知
     */
    private String spt03;

    /**
     *
     *  订购人手机号码海关监管对象的电话，要求实际联系电话
     */
    private String spt04;


    private List<OrderDeclaraCargo> cargos;



    private Long orderId;

    /**
     * 支付方式
     */
    private String payMethod;

    /**
     * 企业支付名称
     */
    private String payMerchantName;

    /**
     * 企业支付编号
     */
    private String payMerchantCode;

    /**
     * 支付总金额
     */
    private BigDecimal payAmount;

    /**
     * 付款币种
     */
    private String payCUR;

    /**
     * 支付交易号
     */
    private String payID;

    /**
     * 支付交易时间
     */
    private Integer payTime;


    public String getMerchantOrderId() {
        return merchantOrderId;
    }

    public void setMerchantOrderId(String merchantOrderId) {
        this.merchantOrderId = merchantOrderId;
    }

    public String getAssBillNo() {
        return assBillNo;
    }

    public void setAssBillNo(String assBillNo) {
        this.assBillNo = assBillNo;
    }

    public Long getOrderCommitTime() {
        return orderCommitTime;
    }

    public void setOrderCommitTime(Long orderCommitTime) {
        this.orderCommitTime = orderCommitTime;
    }

    public String getSenderName() {
        return senderName;
    }

    public void setSenderName(String senderName) {
        this.senderName = senderName;
    }

    public String getSenderTel() {
        return senderTel;
    }

    public void setSenderTel(String senderTel) {
        this.senderTel = senderTel;
    }

    public String getSenderCompanyName() {
        return senderCompanyName;
    }

    public void setSenderCompanyName(String senderCompanyName) {
        this.senderCompanyName = senderCompanyName;
    }

    public String getSenderAddr() {
        return senderAddr;
    }

    public void setSenderAddr(String senderAddr) {
        this.senderAddr = senderAddr;
    }

    public String getSenderZip() {
        return senderZip;
    }

    public void setSenderZip(String senderZip) {
        this.senderZip = senderZip;
    }

    public String getSenderCity() {
        return senderCity;
    }

    public void setSenderCity(String senderCity) {
        this.senderCity = senderCity;
    }

    public String getSenderProvince() {
        return senderProvince;
    }

    public void setSenderProvince(String senderProvince) {
        this.senderProvince = senderProvince;
    }

    public String getSenderCountry() {
        return senderCountry;
    }

    public void setSenderCountry(String senderCountry) {
        this.senderCountry = senderCountry;
    }

    public String getCargoDescript() {
        return cargoDescript;
    }

    public void setCargoDescript(String cargoDescript) {
        this.cargoDescript = cargoDescript;
    }

    public BigDecimal getAllCargoTotalPrice() {
        return allCargoTotalPrice;
    }

    public void setAllCargoTotalPrice(BigDecimal allCargoTotalPrice) {
        this.allCargoTotalPrice = allCargoTotalPrice;
    }

    public BigDecimal getAllCargoTotalTax() {
        return allCargoTotalTax;
    }

    public void setAllCargoTotalTax(BigDecimal allCargoTotalTax) {
        this.allCargoTotalTax = allCargoTotalTax;
    }

    public BigDecimal getExpressPrice() {
        return expressPrice;
    }

    public void setExpressPrice(BigDecimal expressPrice) {
        this.expressPrice = expressPrice;
    }

    public BigDecimal getOtherPrice() {
        return otherPrice;
    }

    public void setOtherPrice(BigDecimal otherPrice) {
        this.otherPrice = otherPrice;
    }

    public String getRecPerson() {
        return recPerson;
    }

    public void setRecPerson(String recPerson) {
        this.recPerson = recPerson;
    }

    public String getRecPhone() {
        return recPhone;
    }

    public void setRecPhone(String recPhone) {
        this.recPhone = recPhone;
    }

    public String getRecCountry() {
        return recCountry;
    }

    public void setRecCountry(String recCountry) {
        this.recCountry = recCountry;
    }

    public String getRecProvince() {
        return recProvince;
    }

    public void setRecProvince(String recProvince) {
        this.recProvince = recProvince;
    }

    public String getRecCity() {
        return recCity;
    }

    public void setRecCity(String recCity) {
        this.recCity = recCity;
    }

    public String getRecAddress() {
        return recAddress;
    }

    public void setRecAddress(String recAddress) {
        this.recAddress = recAddress;
    }

    public String getRecZip() {
        return recZip;
    }

    public void setRecZip(String recZip) {
        this.recZip = recZip;
    }

    public String getServerType() {
        return serverType;
    }

    public void setServerType(String serverType) {
        this.serverType = serverType;
    }

    public String getCustCode() {
        return custCode;
    }

    public void setCustCode(String custCode) {
        this.custCode = custCode;
    }

    public String getAppType() {
        return appType;
    }

    public void setAppType(String appType) {
        this.appType = appType;
    }

    public String getCustomDeclCo() {
        return customDeclCo;
    }

    public void setCustomDeclCo(String customDeclCo) {
        this.customDeclCo = customDeclCo;
    }

    public String getSpt() {
        return spt;
    }

    public void setSpt(String spt) {
        this.spt = spt;
    }

    public String getCrossOrderId() {
        return crossOrderId;
    }

    public void setCrossOrderId(String crossOrderId) {
        this.crossOrderId = crossOrderId;
    }

    public String getMerchantCode() {
        return merchantCode;
    }

    public void setMerchantCode(String merchantCode) {
        this.merchantCode = merchantCode;
    }

    public String getEbpCode() {
        return ebpCode;
    }

    public void setEbpCode(String ebpCode) {
        this.ebpCode = ebpCode;
    }

    public String getEbpName() {
        return ebpName;
    }

    public void setEbpName(String ebpName) {
        this.ebpName = ebpName;
    }

    public String getEbcCode() {
        return ebcCode;
    }

    public void setEbcCode(String ebcCode) {
        this.ebcCode = ebcCode;
    }

    public String getEbcName() {
        return ebcName;
    }

    public void setEbcName(String ebcName) {
        this.ebcName = ebcName;
    }

    public String getBuyerRegNo() {
        return buyerRegNo;
    }

    public void setBuyerRegNo(String buyerRegNo) {
        this.buyerRegNo = buyerRegNo;
    }

    public String getBatchNumbers() {
        return batchNumbers;
    }

    public void setBatchNumbers(String batchNumbers) {
        this.batchNumbers = batchNumbers;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getSpt01() {
        return spt01;
    }

    public void setSpt01(String spt01) {
        this.spt01 = spt01;
    }

    public String getSpt02() {
        return spt02;
    }

    public void setSpt02(String spt02) {
        this.spt02 = spt02;
    }

    public String getSpt03() {
        return spt03;
    }

    public void setSpt03(String spt03) {
        this.spt03 = spt03;
    }

    public String getSpt04() {
        return spt04;
    }

    public void setSpt04(String spt04) {
        this.spt04 = spt04;
    }

    public List<OrderDeclaraCargo> getCargos() {
        return cargos;
    }

    public void setCargos(List<OrderDeclaraCargo> cargos) {
        this.cargos = cargos;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getPayMethod() {
        return payMethod;
    }

    public void setPayMethod(String payMethod) {
        this.payMethod = payMethod;
    }

    public String getPayMerchantName() {
        return payMerchantName;
    }

    public void setPayMerchantName(String payMerchantName) {
        this.payMerchantName = payMerchantName;
    }

    public String getPayMerchantCode() {
        return payMerchantCode;
    }

    public void setPayMerchantCode(String payMerchantCode) {
        this.payMerchantCode = payMerchantCode;
    }

    public BigDecimal getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

    public String getPayCUR() {
        return payCUR;
    }

    public void setPayCUR(String payCUR) {
        this.payCUR = payCUR;
    }

    public String getPayID() {
        return payID;
    }

    public void setPayID(String payID) {
        this.payID = payID;
    }

    public Integer getPayTime() {
        return payTime;
    }

    public void setPayTime(Integer payTime) {
        this.payTime = payTime;
    }
}
